package com.yjzx.util.service.pay.service;


import com.yjzx.util.service.pay.enums.ClientEnum;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * @author yjzx
 * @Description
 * @create 2022-12-28 22:36
 */
public interface PayService {
    String getMiniOpenId(String type,String id);


    /**
     * 生成支付收银台页
     *
     * @param type    支付类型
     * @param orderId 订单id
     * @return
     */
    Object payPage(String type, String orderId);

    /**
     * /**
     * 处理支付通知
     *
     * @param request    支付情况请求
     * @param params     请求参数
     * @param body       请求参数
     * @param headers    请求头
     * @param payType    支付类型
     * @param clientEnum 客户端类型
     * @return
     */
    Object processNotify(HttpServletRequest request, Map<String, String> params, Map<String, String> headers, String body, String payType, ClientEnum clientEnum);

    /**
     * 退单处理通知
     *
     * @param orderId 订单id
     * @return
     */
    boolean payChargebacks(String orderId, String payType, ClientEnum clientEnum);

    String payQuery(String orderId, String payType, ClientEnum clientEnum);
}


